#ifndef CARD_H
#define CARD_H

#include "SDL.h"     // Main SDL header 
#include "SDL_TTF.h" // True Type Font header
#include <string>
#include <vector>
#include "Button.h"

void drawSprite(SDL_Surface* imageSurface, 
                SDL_Surface* screenSurface,
                int srcX, int srcY, 
                int dstX, int dstY,
                int width, int height);

void DisplayText(std::string text, int x, int y, int size, int fR,
                 int fG, int fB, int bR, int bG, int bB);

class Card
{
public:
	Card();
	~Card();
	void Display(SDL_Surface* screenSurface);
	void Display(SDL_Surface* screenSurface, int x, int y, bool Big);
	void SetXY(int x, int y);
	bool isMouseover(int mouseX, int mouseY);
	void checkMouseclick(int mouseX, int mouseY);
	int getWidth();
	int getHeight();
	void toggleTapped();
	bool isTapped();
	virtual void DoAction(int action);

	std::string ActionClicked;
protected:
	SDL_Surface* m_Image;
	SDL_Surface* m_ImageLarge;
	SDL_Surface* m_Image_Tapped;

	int x, y;
	int width, height;

	int blackCost, blueCost, whiteCost, redCost, colourlessCost;

	Button m_Buttons[5];

	bool Tapped;
	bool FullSize;
};

#endif